import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 跑数记录信息 */
export interface Running {
          id: number; // 编号
          fileName?: string; // 文件名称
          totalNumberCount?: number; // 号码总数量
          currentNumberCount?: number; // 当前号码数量
          productConfigStr: string; // 产品配置字符串
          productConfig2: string; // 产品配置2
          taskStatus?: string; // 任务状态
          startTime: string | Dayjs; // 开始时间
          finishTime: string | Dayjs; // 完成时间
}

/** 标签配置信息 */
export interface Label {
          id: number; // 编号
          labelName?: string; // 标签名称
          markNumberCount?: number; // 标记号码数
          markOrderCount?: number; // 标记订单数
          isEnabled?: boolean; // 是否启用
          remark: string; // 备注
  }

// 标签配置 API
export const LabelApi = {
  // 查询标签配置分页
  getLabelPage: async (params: any) => {
    return await request.get({ url: `/system/label/page`, params })
  },

  // 查询标签配置详情
  getLabel: async (id: number) => {
    return await request.get({ url: `/system/label/get?id=` + id })
  },

  // 新增标签配置
  createLabel: async (data: Label) => {
    return await request.post({ url: `/system/label/create`, data })
  },

  // 修改标签配置
  updateLabel: async (data: Label) => {
    return await request.put({ url: `/system/label/update`, data })
  },

  // 删除标签配置
  deleteLabel: async (id: number) => {
    return await request.delete({ url: `/system/label/delete?id=` + id })
  },

  /** 批量删除标签配置 */
  deleteLabelList: async (ids: number[]) => {
    return await request.delete({ url: `/system/label/delete-list?ids=${ids.join(',')}` })
  },

  // 导出标签配置 Excel
  exportLabel: async (params) => {
    return await request.download({ url: `/system/label/export-excel`, params })
  },

// ==================== 子表（跑数记录） ====================

  // 获得跑数记录分页
  getRunningPage: async (params) => {
    return await request.get({ url: `/system/label/running/page`, params })
  },
  // 新增跑数记录
  createRunning: async (data: Running) => {
    return await request.post({ url: `/system/label/running/create`, data })
  },

  // 修改跑数记录
  updateRunning: async (data: Running) => {
    return await request.put({ url: `/system/label/running/update`, data })
  },

  // 删除跑数记录
  deleteRunning: async (id: number) => {
    return await request.delete({ url: `/system/label/running/delete?id=` + id })
  },

  /** 批量删除跑数记录 */
  deleteRunningList: async (ids: number[]) => {
    return await request.delete({ url: `/system/label/running/delete-list?ids=${ids.join(',')}` })
  },

  // 获得跑数记录
  getRunning: async (id: number) => {
    return await request.get({ url: `/system/label/running/get?id=` + id })
  }
}